import { delToken, getToken, setToken } from "@/utils/storage";
import { login } from '@/api/user'
export default {
    namespaced: true,
    state() {
        return {
            token: getToken()
        }
    },
    mutations: {
        setUserToken(state, newToken) {
            state.token = newToken
                //把新的token写到浏览器中去
            setToken(newToken)
        },
        loginout(state) {
            state.token = ''
            delToken()
        }
    },
    //异步操作放在actions中进行操作的
    actions: {
        //设置一个函数提供给前端页面进行异步调用
        async loginAction(context, obj) { //第一个参数固定为context，第二个参数前端穿过来的数据】
            const res = await login(obj)
                //需要把登录后的token写进浏览器中,并且设置state中的token
            context.commit('setUserToken', res.data.token)

        }
    }
}